home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-13 | 33.8 KB | 1,027 lines |
- head 0.11;
- access;
- symbols;
- locks
- dennisg:0.11; strict;
- comment @ * @;
-
-
- 0.11
- date 92.04.13.11.40.53; author dennisg; state Exp;
- branches;
- next 0.10;
-
- 0.10
- date 91.12.31.20.16.08; author dennisg; state Exp;
- branches;
- next 0.9;
-
- 0.9
- date 91.12.10.12.04.22; author dennisg; state Exp;
- branches;
- next 0.8;
-
- 0.8
- date 91.12.01.01.29.29; author dennisg; state Exp;
- branches;
- next 0.7;
-
- 0.7
- date 91.11.29.22.00.10; author dennisg; state Exp;
- branches;
- next 0.6;
-
- 0.6
- date 91.11.29.20.02.01; author dennisg; state Exp;
- branches;
- next 0.5;
-
- 0.5
- date 91.11.29.00.24.14; author dennisg; state Exp;
- branches;
- next 0.4;
-
- 0.4
- date 91.11.19.12.37.49; author dennisg; state Exp;
- branches;
- next 0.3;
-
- 0.3
- date 91.11.16.15.57.35; author dennisg; state Exp;
- branches;
- next 0.2;
-
- 0.2
- date 91.11.07.22.31.42; author dennisg; state Exp;
- branches;
- next 0.1;
-
- 0.1
- date 91.10.24.00.19.24; author dennisg; state Exp;
- branches;
- next ;
-
-
- desc
- @This file contains declarations used within the Objective-C
- run-time system of interest to users.
- @
-
-
- 0.11
- log
- @Check in after array version of run-time works.
- Expect more changes as hash version and other changes are made.
- @
- text
- @/* -*-c-*-
- * This file contains declarations used by the run-time system.
- *
- * Most of these declarations are defined by virtue of data
- * structures produced by the compiler.
- *
- * Copyright (C) 1991 Threaded Technologies Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 1, or any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should receive a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.10 1991/12/31 20:16:08 dennisg Exp dennisg $
- $Author: dennisg $
- $Date: 1991/12/31 20:16:08 $
- $Log: ObjC.h,v $
- * Revision 0.10 1991/12/31 20:16:08 dennisg
- * Deleted index variable stuff. Index variables are a hack to the language.
- * Cleaned up some documentation.
- *
- * Revision 0.9 1991/12/10 12:04:22 dennisg
- * Cleaned up file format for a distribution.
- *
- * Revision 0.8 1991/12/01 01:29:29 dennisg
- * modified to remove changes previously made to
- * implement posing. posing just got easy.
- *
- * Revision 0.7 1991/11/29 22:00:10 dennisg
- * modified to implement set functions.
- *
- * Revision 0.6 1991/11/29 20:02:01 dennisg
- * fixed several const decls. bozo.
- *
- * Revision 0.5 1991/11/29 00:24:14 dennisg
- * many changes including posing, things to make the compiler
- * happier, structure changes, and things to make it play better.
- *
- * Revision 0.4 1991/11/19 12:37:49 dennisg
- * changed typedef and struct decls.
- * the run-time was changed and those decls changed too.
- *
- * Revision 0.3 1991/11/16 15:57:35 dennisg
- * changed the defs for class structures for new implementation of run-time.
- * changed def of SEL back to its original type.
- *
- * Revision 0.2 1991/11/07 22:31:42 dennisg
- * added copyleft.
- *
- * Revision 0.1 1991/10/24 00:19:24 dennisg
- * Initial check in. Preliminary development stage.
- *
- */
-
-
- #ifndef _objc_INCLUDE_GNU
- #define _objc_INCLUDE_GNU
-
- /* If someone is using a c++
- compiler then adjust the
- types in the file back
- to C. */
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #include <sys/types.h>
- #include <record-inline.h>
- #include <stdarg.h>
-
-
- #define nil (id)0 /* id of Nil instance */
- #define Nil (Class_t)0 /* id of Nil class */
- typedef char* STR; /* String alias */
-
- /* Boolean typedefs */
- typedef char BOOL;
- #define YES (BOOL)1
- #define NO (BOOL)0
-
- /* Definition of a
- selector. Selectors are
- really of type char*. The
- run-time hashes the
- string's address to locate
- the method. If the method
- isn't in the hash table then
- a search is made through the
- class hierarchy using
- strcmp() to locate the
- method. */
- #if 0
- typedef struct objc_selector* SEL;
- #else
- typedef void* SEL;
- #endif
-
- /* ObjC uses this typedef
- for untyped instances. */
- typedef struct objc_object {
- struct objc_class* isa;
- } *id;
-
- /* Prototype for method
- functions. */
- typedef id ( *IMP )( id, SEL, ... );
-
- /* Filer types used to
- describe Ivars and
- Methods. */
- #define _C_ID '@@'
- #define _C_CLASS '#'
- #define _C_SEL ':'
- #define _C_CHR 'c'
- #define _C_UCHR 'C'
- #define _C_SHT 's'
- #define _C_USHT 'S'
- #define _C_INT 'i'
- #define _C_UINT 'I'
- #define _C_LNG 'l'
- #define _C_ULNG 'L'
- #define _C_FLT 'f'
- #define _C_DBL 'd'
- #define _C_BFLD 'b'
- #define _C_VOID 'v'
- #define _C_UNDEF '?'
- #define _C_PTR '^'
- #define _C_CHARPTR '*'
- #define _C_ARY_B '['
- #define _C_ARY_E ']'
- #define _C_UNION_B '('
- #define _C_UNION_E ')'
- #define _C_STRUCT_B '{'
- #define _C_STRUCT_E '}'
-
- /*
- * These definitions are masks used with the "info" member variable in the
- * class and meta class structures.
- */
- #define CLS_CLASS 0x1L /* The structure is of type
- class (Class_t). */
- #define CLS_META 0x2L /* The structure is of type
- meta class (MetaClass_t). */
- #define CLS_INITIALIZED 0x4L /* Class is initialized. A
- +initialize method is the
- first message sent to a
- class. It isn't guaranteed
- to be sent only once. */
-
-
- /* Set this variable to !0 to
- have the messager print
- messaging operations. */
- extern BOOL objc_trace;
-
-
- /*
- * Whereas a Module (defined further down) is the root (typically) of a file,
- * a Symtab is the root of the class and category definitions within the
- * module.
- *
- * A Symtab contains a variable length array of pointers to classes and
- * categories defined in the module.
- */
- typedef struct objc_symtab {
- u_long sel_ref_cnt; /* Unknown. */
- SEL *refs; /* Unknown. */
- u_short cls_def_cnt; /* Number of classes compiled
- (defined) in the module. */
- u_short cat_def_cnt; /* Number of categories
- compiled (defined) in the
- module. */
- void *defs[1]; /* Variable array of pointers.
- cls_def_cnt of type Class_t
- followed by cat_def_cnt of
- type Category_t. */
- } Symtab, *Symtab_t;
-
-
- /*
- * The compiler generates one of these structures for each module that
- * composes the executable (eg main.m).
- *
- * This data structure is the root of the definition tree for the module.
- *
- * A collect program runs between ld stages and creates a ObjC ctor array.
- * That array holds a pointer to each module structure of the executable.
- */
- typedef struct objc_module {
- u_long version; /* Compiler revision. */
- u_long size; /* sizeof(Module). */
- const char* name; /* Name of the file where the
- module was generated. The
- name includes the path. */
- Symtab_t symtab; /* Pointer to the Symtab of
- the module. The Symtab
- holds an array of pointers to
- the classes and categories
- defined in the module. */
- } Module, *Module_t;
-
-
- /*
- * The compiler generates one of these structures for a class that has
- * instance variables defined in its specification.
- */
- typedef struct objc_ivar* Ivar_t;
- typedef struct objc_ivar_list {
- int ivar_count; /* Number of structures (Ivar)
- contained in the list. One
- structure per instance
- variable defined in the
- class. */
- struct objc_ivar {
- const char* ivar_name; /* Name of the instance
- variable as entered in the
- class definition. */
- const char* ivar_type; /* Description of the Ivar's
- type. Useful for
- debuggers. */
- int ivar_offset; /* Byte offset from the base
- address of the instance
- structure to the variable. */
-
- } ivar_list[1]; /* Variable length
- structure. */
- } IvarList, *IvarList_t;
-
-
- /*
- * The compiler generates one (or more) of these structures for a class that
- * has methods defined in its specification.
- *
- * The implementation of a class can be broken into separate pieces in a file
- * and categories can break them across modules. To handle this problem is a
- * singly linked list of methods.
- */
- typedef struct objc_method Method;
- typedef Method* Method_t;
- typedef struct objc_method_list {
- struct objc_method_list* method_next; /* This variable is used to link
- a method list to another. It
- is a singly linked list. */
- int method_count; /* Number of methods defined in
- this structure. */
- struct objc_method {
- SEL method_name; /* This variable is the method's
- name. It is a char*.
- The unique integer passed to
- objc_msgSend() is a char* too.
- It is compared against
- method_name using strcmp(). */
- const char* method_types; /* Description of the method's
- parameter list. Useful for
- debuggers. */
- IMP method_imp; /* Address of the method in the
- executable. */
- } method_list[1]; /* Variable length
- structure. */
- } MethodList, *MethodList_t;
-
-
- /*
- * The compiler generates one of these structures for each class.
- *
- * This structure is the definition for meta classes. By definition a meta
- * class is the class's class. Its most relevant contribution is that its
- * method list contain the class's factory methods.
- *
- * This structure is generated by the compiler in the executable and used by
- * the run-time during normal messaging operations. Therefore some members
- * change type. The compiler generates "char* const" and places a string in
- * the following member variables: isa and super_class.
- */
- typedef struct objc_metaClass {
- struct objc_metaClass* isa; /* Pointer to Object meta
- class. */
- struct objc_metaClass* super_class; /* Pointer to meta class's
- super class. NULL for
- Object. */
- const char* name; /* Name of the meta class. */
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- defined above. */
- long instance_size; /* Always 0 except for Object.
- Should be ignored. */
- IvarList_t ivars; /* Always NULL except for
- Object. Should be ignored. */
- MethodList_t methods; /* Linked List of factory methods
- for the class. */
- Record_t* cache; /* Pointer to factory method
- dispatch table. */
- } MetaClass, *MetaClass_t;
-
-
- /*
- * The compiler generates one of these structures for each class.
- *
- * This structure is the definition for classes.
- *
- * This structure is generated by the compiler in the executable and used by
- * the run-time during normal messaging operations. Therefore some members
- * change type. The compiler generates "char* const" and places a string in
- * the following member variables: super_class.
- */
- typedef struct objc_class {
- MetaClass_t isa; /* Pointer to the class's
- meta class. */
- struct objc_class* super_class; /* Pointer to the super
- class. NULL for class
- Object. */
- const char* name; /* Name of the class. */
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- defined above. */
- long instance_size; /* Size in bytes of the class.
- The sum of the class definition
- and all super class
- definitions. */
- IvarList_t ivars; /* Pointer to a structure that
- describes the instance
- variables in the class
- definition. NULL indicates
- no instance variables. Does
- not include super class
- variables. */
- MethodList_t methods; /* Linked list of instance
- methods defined for the
- class. */
- Record_t* cache; /* Pointer to instance method
- dispatch table. */
- } Class, *Class_t;
-
-
- /*
- * The compiler generates one of these structures for each category. A class
- * may have many categories and contain both instance and factory methods.
- */
- typedef struct objc_category {
- const char* category_name; /* Name of the category. Name
- contained in the () of the
- category definition. */
- const char* class_name; /* Name of the class to which
- the category belongs. */
- MethodList_t instance_methods; /* Linked list of instance
- methods defined in the
- category. NULL indicates no
- instance methods defined. */
- MethodList_t class_methods; /* Linked list of factory
- methods defined in the
- category. NULL indicates no
- class methods defined. */
- } Category, *Category_t;
-
-
- /*
- * Structure used when a message is send to a class's super class. The
- * compiler generates one of these structures and passes it to
- * objc_msgSuper().
- */
- typedef struct objc_super {
- id receiver; /* Id of the object sending
- the message. */
- Class_t class; /* Object's super class. */
- } Super, *Super_t;
-
- /*
- * _alloc points to the function, called through class_createInstance(), used
- * to allocate memory for new instances.
- */
- extern id (*_alloc)(Class_t aClass);
- /*
- * _dealloc points to the function, called through object_dispose(), used to
- * free instances.
- */
- extern id (*_dealloc)(id aObject);
- /*
- * _realloc points to the function, called through object_realloc(), used to
- * reallocate memory for an object
- */
- extern id (*_realloc)(id aObject, u_int newSize);
-
- /*
- * _copy points to the function, called through object_copy(), used to create
- * an exact copy of an object.
- */
- extern id (*_copy)(id aObject);
-
- /*
- * _error points to the function that the run-time system calls in response
- * to an error. By default, it prints formatted error messages to the
- * standard error stream and calls abort() to produce a core file.
- */
- extern void (*_error)(id aObject, const char* fmt, va_list ap);
-
-
- #ifdef __cplusplus
- }
- #endif
-
-
- #endif
- @
-
-
- 0.10
- log
- @Deleted index variable stuff. Index variables are a hack to the language.
- Cleaned up some documentation.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.9 1991/12/10 12:04:22 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/12/10 12:04:22 $
- d26 4
- d76 1
- a76 1
- #include <hash.h>
- d80 2
- a81 2
- #define nil ( id )0 /* id of Nil instance */
- #define Nil ( Class_t )0 /* id of Nil class */
- d299 2
- a300 5
- Cache_t cache; /* Used to cache factory methods
- defined for the class and its
- super classes. Entries are
- made to the cache as the
- messager receives them. */
- d338 2
- a339 5
- Cache_t cache; /* Used to cache instance methods
- defined for the class and its
- super classes. Entries are
- made to the cache as the
- messager receives them. */
- @
-
-
- 0.9
- log
- @Cleaned up file format for a distribution.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.8 1991/12/01 01:29:29 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/12/01 01:29:29 $
- d26 3
- d140 3
- a142 4
- /*
- * These definitions are masks used with
- * the "info" member variable in the class and
- * meta class structures.
- d161 4
- a164 4
- /*
- * Whereas a Module (defined further down) is the
- * root (typically) of a file, a Symtab is the root of the
- * class and category definitions within the module.
- d166 2
- a167 2
- * A Symtab contains a variable length array of pointers
- * to classes and categories defined in the module.
- d184 3
- a186 3
- /*
- * The compiler generates one of these structures for each
- * module that composes the executable (eg main.m).
- d188 1
- a188 2
- * This data structure is the root of the definition tree
- * for the module.
- d190 2
- a191 3
- * A collect program runs between ld stages and creates
- * a ObjC ctor array. That array holds a pointer to each
- * module structure of the executable.
- d207 3
- a209 4
- /*
- * The compiler generates one of these structures for a
- * class that has instance variables defined in its
- * specification.
- d234 3
- a236 3
- /*
- * The compiler generates one (or more) of these structures
- * for a class that has methods defined in its specification.
- d238 3
- a240 3
- * The implementation of a class can be broken into separate
- * pieces in a file and categories can break them across modules.
- * To handle this problem is a singly linked list of methods.
- d268 1
- a268 2
- * The compiler generates one of these structures for
- * each class.
- d270 8
- a277 11
- * This structure is the definition for meta classes.
- * By definition a meta class is the class's class. Its
- * most relevant contribution is that its method list
- * contain the class's factory methods.
- *
- * This structure is generated by the compiler in the
- * executable and used by the run-time during normal
- * messaging operations. Therefore some members
- * change type.
- * The compiler generates "char* const" and places a string
- * in the following member variables: isa and super_class.
- d304 1
- a304 2
- * The compiler generates one of these structures for
- * each class.
- d306 6
- a311 8
- * This structure is the definition for classes.
- *
- * This structure is generated by the compiler in the
- * executable and used by the run-time during normal
- * messaging operations. Therefore some members
- * change type.
- * The compiler generates "char* const" and places a string
- * in the following member variables: super_class.
- d346 2
- a347 4
- * The compiler generates one of these structures
- * for each category. A class may have many
- * categories and contain both instance and
- * factory methods.
- d366 4
- a369 4
- /*
- * Structure used when a message is send to a class's
- * super class. The compiler generates one of these
- * structures and passes it to objc_msgSuper().
- d378 2
- a379 3
- * _alloc points to the function, called through
- * class_createInstance(), used to allocate memory for
- * new instances.
- d381 1
- a381 1
- extern id (*_alloc)(Class_t aClass, u_int indexedIvarBytes);
- d383 2
- a384 2
- * _dealloc points to the function, called
- * through object_dispose(), used to free instances.
- d388 2
- a389 2
- * _realloc points to the function, called through
- * object_realloc(), used to reallocate memory for an object
- d391 1
- a391 1
- extern id (*_realloc)(id aObject, u_int numBytes);
- d394 2
- a395 2
- * _copy points to the function, called through
- * object_copy(), used to create an exact copy of an object.
- d397 1
- a397 1
- extern id (*_copy)(id aObject, u_int indexedIvarBytes);
- d400 3
- a402 4
- * _error points to the function that the run-time
- * system calls in response to an error. By default,
- * it prints formatted error messages to the standard
- * error stream and calls abort() to produce a core file.
- @
-
-
- 0.8
- log
- @modified to remove changes previously made to
- implement posing. posing just got easy.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.7 1991/11/29 22:00:10 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/29 22:00:10 $
- d26 4
- d70 1
- a70 1
- #include <stdarg.h>
- d194 3
- a196 3
- u_long version; /* Compiler revision. */
- u_long size; /* sizeof(Module). */
- const char* name; /* Name of the file where the
- d199 1
- a199 1
- Symtab_t symtab; /* Pointer to the Symtab of
- d220 1
- a220 1
- const char* ivar_name; /* Name of the instance
- d223 1
- a223 1
- const char* ivar_type; /* Description of the Ivar's
- d226 1
- a226 1
- int ivar_offset; /* Byte offset from the base
- d252 1
- a252 1
- SEL method_name; /* This variable is the method's
- d258 1
- a258 1
- const char* method_types; /* Description of the method's
- d261 1
- a261 1
- IMP method_imp; /* Address of the method in the
- d282 1
- a282 1
- * in the following member variables: isa and super_class.
- d285 8
- a292 8
- struct objc_metaClass* isa; /* Pointer to Object meta
- class. */
- struct objc_metaClass* super_class; /* Pointer to meta class's
- super class. NULL for
- Object. */
- const char* name; /* Name of the meta class. */
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- d294 1
- a294 1
- long instance_size; /* Always 0 except for Object.
- d296 1
- a296 1
- IvarList_t ivars; /* Always NULL except for
- d298 1
- a298 1
- MethodList_t methods; /* Linked List of factory methods
- d300 1
- a300 1
- Cache_t cache; /* Used to cache factory methods
- d319 1
- a319 1
- * in the following member variables: super_class.
- d322 1
- a322 1
- MetaClass_t isa; /* Pointer to the class's
- d324 3
- a326 3
- struct objc_class* super_class; /* Pointer to the super
- class. NULL for class
- Object. */
- d328 2
- a329 2
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- d331 1
- a331 1
- long instance_size; /* Size in bytes of the class.
- d335 1
- a335 1
- IvarList_t ivars; /* Pointer to a structure that
- d342 1
- a342 1
- MethodList_t methods; /* Linked list of instance
- d345 1
- a345 1
- Cache_t cache; /* Used to cache instance methods
- d382 1
- a382 1
- id receiver; /* Id of the object sending
- d389 2
- a390 2
- * class_createInstance(), used to allocate memory for
- * new instances.
- d395 1
- a395 1
- * through object_dispose(), used to free instances.
- d400 1
- a400 1
- * object_realloc(), used to reallocate memory for an object
- d406 1
- a406 1
- * object_copy(), used to create an exact copy of an object.
- d408 1
- a408 1
- extern id (*_copy)(id aObject, u_int indexedIvarBytes);
- d412 3
- a414 3
- * system calls in response to an error. By default,
- * it prints formatted error messages to the standard
- * error stream and calls abort() to produce a core file.
- @
-
-
- 0.7
- log
- @modified to implement set functions.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.6 1991/11/29 20:02:01 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/29 20:02:01 $
- d26 3
- a146 3
- #define CLS_POSING 0x8L /* Class is posing as
- another. */
- #define CLS_MAPPED 0x10L /* Unknown. */
- @
-
-
- 0.6
- log
- @fixed several const decls. bozo.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.5 1991/11/29 00:24:14 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/29 00:24:14 $
- d26 3
- d63 1
- d382 31
- @
-
-
- 0.5
- log
- @many changes including posing, things to make the compiler
- happier, structure changes, and things to make it play better.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.4 1991/11/19 12:37:49 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/19 12:37:49 $
- d26 4
- d186 3
- a188 3
- u_long version; /* Compiler revision. */
- u_long size; /* sizeof(Module). */
- char* name; /* Name of the file where the
- d191 1
- a191 1
- Symtab_t symtab; /* Pointer to the Symtab of
- d212 1
- a212 1
- char* ivar_name; /* Name of the instance
- d215 1
- a215 1
- char* ivar_type; /* Description of the Ivar's
- d218 1
- a218 1
- int ivar_offset; /* Byte offset from the base
- d244 1
- a244 1
- SEL method_name; /* This variable is the method's
- d250 1
- a250 1
- char* method_types; /* Description of the method's
- d253 1
- a253 1
- IMP method_imp; /* Address of the method in the
- d282 1
- a282 1
- char* name; /* Name of the meta class. */
- d319 1
- a319 1
- char* name; /* Name of the class. */
- d352 1
- a352 1
- char* category_name; /* Name of the category. Name
- d355 1
- a355 1
- char* class_name; /* Name of the class to which
- d383 1
- @
-
-
- 0.4
- log
- @changed typedef and struct decls.
- the run-time was changed and those decls changed too.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.3 1991/11/16 15:57:35 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/16 15:57:35 $
- d26 4
- d78 1
- d80 3
- @
-
-
- 0.3
- log
- @changed the defs for class structures for new implementation of run-time.
- changed def of SEL back to its original type.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.2 1991/11/07 22:31:42 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/11/07 22:31:42 $
- d26 4
- d128 2
- a129 3
- #define CLS_POSING 0x8L /* Class is posing as another.
- Used to fix broken
- classes. */
- d268 2
- a269 1
- super meta class. */
- d305 2
- a306 1
- class. */
- d362 1
- a362 1
- id receiver; /* Id of the object sending
- d364 1
- a364 3
- char* class; /* Name of the object's super
- class. Passed to remove a
- level of indirection? */
- @
-
-
- 0.2
- log
- @added copyleft.
- @
- text
- @d22 1
- a22 1
- $Header: /usr/user/dennis_glatting/ObjC/c-runtime/include/RCS/ObjC.h,v 0.1 1991/10/24 00:19:24 dennisg Exp dennisg $
- d24 1
- a24 1
- $Date: 1991/10/24 00:19:24 $
- d26 3
- d59 1
- a59 1
- /* Defination of a
- d62 9
- a70 3
- run-time uses strcmp() to
- locate selectors. */
- typedef STR SEL;
- d80 1
- a80 5
- typedef id ( *IMP )(
- #ifdef __STDC__
- id, SEL, ...
- #endif
- );
- d171 2
- a172 4
- u_long version; /* Unknown. */
- u_long size; /* Suspect this is
- sizeof(Module). It is always
- 16. */
- d256 4
- a259 2
- * messaging operations. Therefore some definitions
- * don't make sense in some contexts.
- d262 7
- a268 7
- char* isa; /* Always a pointer to the
- string "Object". */
- char* super_class; /* Name of the class's super
- class. */
- char* name; /* Name of the meta class. */
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- d270 1
- a270 1
- long instance_size; /* Always 0 except for Object.
- d272 1
- a272 1
- IvarList_t ivars; /* Always NULL except for
- d274 1
- a274 1
- MethodList_t methods; /* Linked List of factory methods
- d276 1
- a276 1
- Cache_t cache; /* Used to cache factory methods
- d292 4
- a295 2
- * messaging operations. Therefore some definitions
- * don't make sense in some contexts.
- d298 1
- a298 1
- MetaClass_t isa; /* Pointer to the class's
- d300 5
- a304 5
- char* super_class; /* Name of the class's super
- class. */
- char* name; /* Name of the class. */
- long version; /* Unknown. */
- long info; /* Bit mask. See class masks
- d306 1
- a306 1
- long instance_size; /* Size in bytes of the class.
- d310 1
- a310 1
- IvarList_t ivars; /* Pointer to a structure that
- d317 1
- a317 1
- MethodList_t methods; /* Linked list of instance
- d320 1
- a320 1
- Cache_t cache; /* Used to cache instance methods
- @
-
-
- 0.1
- log
- @Initial check in. Preliminary development stage.
- @
- text
- @d7 22
- a28 4
- $Header$
- $Author$
- $Date$
- $Log$
- @
-